package LeetCode;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

public class LC_187_RepeatedDNASequences {

    public static void main(String[] args) {

    }

    static class Solution {
        public List<String> findRepeatedDnaSequences(String s) {
            List<String> res = new LinkedList<>();
            HashMap<String, Integer> maps = new HashMap<>();
            int length = s.length();
            if (length <= 10)
                return res;
            for (int i = 0; i <= length - 10; i++) {
                String subStr = s.substring(i, i + 10);
                if (maps.containsKey(subStr)) {
                    if (maps.get(subStr) == 1) {
                        maps.replace(subStr, -1);
                        res.add(subStr);
                    }
                } else {
                    maps.put(subStr, 1);
                }
            }
            return res;
        }
    }

}